4
תגובות
חיפוש באתר עם משתנים.
פתח
Aviway
,
שלום לכולם,
אני מנסה לבנות תיבת חיפוש באתר. הבעיה היא שיש לי טבלה אחת בDB שכוללת בתוכה את כל הנתונים העיקריים. ועוד כמה טבלאות (שבתוכם יש רק מס' ID) שמקושרות לID של כל שורה בטבלה הראשית.
איך אני יכול לבצע חיפוש באתר שהוא יחפש גם בטבלאות האחרות מלבד הטבלה הראשית?
אני מנסה לבנות תיבת חיפוש באתר. הבעיה היא שיש לי טבלה אחת בDB שכוללת בתוכה את כל הנתונים העיקריים. ועוד כמה טבלאות (שבתוכם יש רק מס' ID) שמקושרות לID של כל שורה בטבלה הראשית.
איך אני יכול לבצע חיפוש באתר שהוא יחפש גם בטבלאות האחרות מלבד הטבלה הראשית?
4 תשובות
SELECT * FROM table WHERE row1 LIKE '%".$obj."%' OR row2 LIKE '%".$obj."%' OR row3 LIKE '%".$obj."%' ORDER BY RAND()
זו השאילתא, כרגע היא בודקת רק בטבלה הראשית . אבל אני מעוניין שהיא תחפש בעוד כמה טבלאות
תוכל לעשות join לטבלאות האחרות ולחפש גם בהם בצורה כזאת:
SELECT * FROM table
LEFT JOIN table2 ON table1.id = table2.id
LEFT JOIN table3 ON table1.id = table3.id
WHERE
row1 LIKE '%".$obj."%' OR
row2 LIKE '%".$obj."%' OR
row3 LIKE '%".$obj."%' OR
table2.field LIKE '%$obj%' OR
table3.field LIKE '%$obj%'
ORDER BY RAND()
LEFT JOIN table2 ON table1.id = table2.id
LEFT JOIN table3 ON table1.id = table3.id
WHERE
row1 LIKE '%".$obj."%' OR
row2 LIKE '%".$obj."%' OR
row3 LIKE '%".$obj."%' OR
table2.field LIKE '%$obj%' OR
table3.field LIKE '%$obj%'
ORDER BY RAND()